package chap6.user;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

/**
 * 操作实现类：实现接口（HashMap来实现用户操作的3个功能）
 */
public class UserDaoMap implements UserDao {
    //创建HashMap对象，用name做Key，user对象做value

    HashMap<String,User> map=new HashMap<>();
    public UserDaoMap() {
    }

    @Override
    public void register(User user) {
        //把传入的User对象添加到hashMap
        map.put(user.getName(),user);

    }

    @Override
    public boolean login(String name, String password){
        /*遍历集合：将传入的name和password跟集合元素比较
        *           若相同，返回true
        *           若不同，返回false*/
        Iterator iterator=map.keySet().iterator();
        while (iterator.hasNext()){
            //获取key和value
            String key=(String ) iterator.next();
            User value=map.get(key);
            //比较
            if(name.equals(key)&&password.equals(value.getPassword())){
               return true ;
            }
        }
        return false;
    }

    @Override
    public void queryAll() {
        //遍历集合：输出内容
        System.out.println("所有用户信息如下");
        Iterator iterator=map.entrySet().iterator();
        while(iterator.hasNext()){
            Map.Entry<String,User> entry=(Map.Entry<String,User>)iterator.next();
            User value=entry.getValue();
            System.out.println(value);
        }

    }
}
